package com.local.goods.service;


import com.local.common.util.PageResultUtil;
import com.local.goods.pojo.GoodsCategory;

import java.util.List;

public interface GoodsCategoryService {

    /**
     * 查询分类列表，支持翻页
     * @param parentId
     * @param categoryLevel
     * @param page
     * @param limit
     * @param sort
     * @param order
     * @param isDeleted
     * @return
     */
    public PageResultUtil<GoodsCategory> findGoodsCategoryList(Integer parentId, Byte categoryLevel, Integer page, Integer limit, String sort, String order, Integer isDeleted);

    /**
     * 新增
     * @param goodsCategory
     * @return
     */
    public Integer save(GoodsCategory goodsCategory);

    /**
     * 修改
     * @param goodsCategory
     * @return
     */
    public Integer update(GoodsCategory goodsCategory);


    /**
     * 批量删除
     * @param ids
     * @param updateUserId
     * @param updateTime
     * @return
     */
    public Integer deleteByIds(Integer[] ids, Integer updateUserId, String updateTime);


    /**
     * 通过 parent_id 查询分类列表
     * @param parentIds
     * @param categoryLevel
     * @param number
     * @return
     */
    public List<GoodsCategory> selectByLevelAndParentIdsAndNumber(List<Integer> parentIds, Integer categoryLevel, Integer number);

    /**
     * 通过id查询
     * @param categoryId
     * @return
     */
    public GoodsCategory selectById(Integer categoryId);


    /**
     * 得到首页的商品分类列表
     * @return
     */
    public List<GoodsCategory> getIndexCategoryList();


    /**
     * 得到商品分类页的分类信息
     * @param categoryId
     * @return
     */
    public GoodsCategory getSearchCategory(Integer categoryId);
}
